package com.myself.community.service;

import com.myself.community.entity.LoginTicket;
import com.myself.community.entity.User;

import java.util.Map;

public interface UserService {
    /**
     * 根据id查询用户
     * @param id
     * @return
     */
    public User findUserById(int id);

    /**
     * 用户注册
     * @param user
     * @return
     */
    public Map<String,Object> register(User user);

    /**
     * 账户激活
     * @param uerId
     * @param code
     * @return
     */
    public int active(int uerId,String code);

    /**
     * 用户登录
     * @param username
     * @param password
     * @param expiredSeconds
     * @return
     */
    public Map<String,Object> login(String username,String password,int expiredSeconds);

    /**
     * 用户退出登录
     * @param ticket
     */
    public void logout(String ticket);

    /**
     * 根据凭证号，查询用户登录凭证信息
     * @param ticket
     * @return
     */
    public LoginTicket findLoginTicket(String ticket);

    /**
     * 用户更新头像
     * @param userId
     * @param headerUrl
     * @return
     */
    public int updateHeader(int userId, String headerUrl);

    /**
     * 修改密码
     * @param oldPassword
     * @param newPassword
     * @return
     */
    public Map<String,Object> updatePassword(String oldPassword,String newPassword);

    /**
     * 忘记密码，重置密码
     * @param email
     * @param password
     * @return
     */
    public Map<String, Object> forgetPassword(String email,String password);

    /**
     * 根据用户姓名查询用户信息
     * @param username
     * @return
     */
    public User findUserByName(String username);

}
